package main

import "fmt"

// 全局匿名函数
var funMethod = func(n1 int, n2 int) int {
	return (n1 * n2) / 2
}

// 匿名函数----
func main() {

	//匿名函数-定义时直接调用
	res0 := func(n1 int, n2 int) int {
		return n1 * n2
	}(33, 44)
	fmt.Printf("res=%d\n", res0)

	//将匿名函数赋值给一个变量
	func1 := func(n1 int, n2 int) int {
		return n1 + n2
	}
	//调用匿名函数
	fmt.Printf("res=%d\n", func1(12, 345))

	//调用全局匿名函数
	fmt.Printf("res=%d\n", funMethod(34, 45))

	//匿名函数
	r := func(n1 int, n2 int) int {
		return n1 + n2
	}(101, 102)
	fmt.Printf("%d \n", r)

	s := func(a string) string {
		return a + "!"
	}("zhagnsan")
	fmt.Printf(s)
}
